using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("RadioButtonGroup")]
	public class RadioButtonGroup : MonoBehaviour
	{
		public struct ButtonData
		{
			public int m_id;

			public string m_text;

			public bool m_selected;

			public object m_userData;
		}

		public GameObject m_buttonContainer => method_3<GameObject>("m_buttonContainer");

		public FramedRadioButton m_framedRadioButtonPrefab => method_3<FramedRadioButton>("m_framedRadioButtonPrefab");

		public GameObject m_firstRadioButtonBone => method_3<GameObject>("m_firstRadioButtonBone");

		public List<FramedRadioButton> m_framedRadioButtons => method_3<Class271<FramedRadioButton>>("m_framedRadioButtons")?.method_25();

		public Vector3 m_spacingFudgeFactor => method_2<Vector3>("m_spacingFudgeFactor");

		public RadioButtonGroup(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RadioButtonGroup(IntPtr address)
			: this(address, "RadioButtonGroup")
		{
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void SetSpacingFudgeFactor(Vector3 amount)
		{
			method_8("SetSpacingFudgeFactor", amount);
		}

		public FramedRadioButton CreateNewFramedRadioButton()
		{
			return method_14<FramedRadioButton>("CreateNewFramedRadioButton", Array.Empty<object>());
		}

		public void OnRadioButtonReleased(UIEvent e)
		{
			method_8("OnRadioButtonReleased", e);
		}

		public void OnRadioButtonDoubleClicked(UIEvent e)
		{
			method_8("OnRadioButtonDoubleClicked", e);
		}
	}
}
